//
//  TaskListModel.h
//  Trackit
//
//  Created by yaodaobin on 2017/4/3.
//  Copyright © 2017年 yaodaobin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "PropertyItem.h"
#import "TSLocation.h"

typedef enum : NSInteger {
    TaskStatusTypeDefault,
    TaskStatusTypeFinished,
    TaskStatusTypeCancel,
} TaskStatusType;

typedef enum : NSInteger {
    CollectDataTypePointAnimal = 0,
    CollectDataTypeLine,
    CollectDataTypePointGrass,
} CollectDataType;

typedef enum : NSInteger {
    TaskCollectActionTypeSave = 0,
    TaskCollectActionTypeFinish,
    TaskCollectActionTypeStart,
    TaskCollectActionTypePause,
    TaskCollectActionTypeGiveup,
    TaskCollectActionTypeUpload,
} TaskCollectActionType;

typedef enum : NSInteger {
    TaskCollectStatusTypeReady = 0,
    TaskCollectStatusTypeCollecting,
    TaskCollectActionTypeDone,
    TaskCollectStatusTypeFinish,
} TaskCollectStatusType;

@interface TaskListModel : NSObject

@property (nonatomic, assign) CollectDataType collectDataType;
@property (nonatomic, copy) NSString *collectDataTypeName;
@property (nonatomic, assign) double createDate;
@property (nonatomic, copy) NSString *createUser;
@property (nonatomic, copy) NSString *createUserName;
@property (nonatomic, copy) NSString *taskDescription;
@property (nonatomic, assign) BOOL finished;
@property (nonatomic, copy) NSString *latestSubmitDate;
@property (nonatomic, copy) NSString *startDate;
@property (nonatomic, copy) NSString *subitTimes;
@property (nonatomic, copy) NSString *taskDetailID;
@property (nonatomic, copy) NSString *taskID;
@property (nonatomic, copy) NSString *taskName;
@property (nonatomic, copy) NSString *taskStatusName;
@property (nonatomic, assign) TaskStatusType taskStatusType;
@property (nonatomic, copy) NSString *userID;

//客户端添加
@property (nonatomic, copy) NSString *createCalendarDate;
@property (nonatomic, assign) BOOL isLine;
@property (nonatomic, copy) NSString *searchCacheIDString;
@property (nonatomic, strong) TSLocation *locationInfo;

- (instancetype)initWithData:(NSDictionary *)data;

- (BOOL)localPathExisted;
- (NSString *)cacheString;
+ (NSMutableArray *)getPropertyKeyArray:(CollectDataType)type;
+ (NSMutableArray *)getPropertyValueArray:(CollectDataType)type;
@end
